/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode() {}
 *     ListNode(int val) { this.val = val; }
 *     ListNode(int val, ListNode next) { this.val = val; this.next = next; }
 * }
 */
class Solution {
    public ListNode removeNthFromEnd(ListNode head, int n) {
        int len=getLength(head);
        ListNode p=new ListNode(0,head);
        ListNode cur=p;
        int result=len-n;
        for(int i=0;i<result;i++)
        {
            cur=cur.next;
        }
        cur.next=cur.next.next;
        ListNode dim=p.next;
        return dim;
    }
    public int getLength(ListNode head)
    {
        int len=0;
        ListNode cur=head;
        while(cur!=null)
        {
            cur=cur.next;
            len++;
        }
        return len;
    }
}
